#ifndef GENESIS_DATATYPES
#define GENESIS_DATATYPES
typedef unsigned char byte;
typedef unsigned short word;
#endif

#include "object.h"




void pcSonic();

void Sonic_Player(object *);

void Sonic_Main();
void Sonic_Control();

void Sonic_MdNormal();
void Sonic_MdJump();
void Sonic_MdRoll();
void Sonic_MdJump2();

void Sonic_Display();

void Sonic_Jump();
void Sonic_SlopeResist();
void Sonic_SlopeRepel();

void Sonic_Move();
void Sonic_StopAtWalls();
void Sonic_ResetScr();
void Sonic_LookUporDuck();
void Sonic_Balance();
void Sonic_MoveLeft();
void Sonic_MoveRight();

signed short Sonic_WallDistSpeed(byte angle);

void Sonic_Roll();
void Sonic_LevelBound();

void Sonic_AnglePos();
signed short Sonic_Angle(signed short, signed short);

void Sonic_Walk();
void Sonic_WalkVertR();
void Sonic_WalkCeiling();
void Sonic_WalkVertL();

void Sonic_JumpHeight();
void Sonic_JumpDirection();
void Sonic_JumpAngle();

void Sonic_Floor();
void Sonic_ResetOnFloor();
void Sonic_HitFloor(signed short &, signed short &, byte &);
void Sonic_HitWallLeft(signed short &, byte &);
void Sonic_HitWallRight(signed short &, byte &);

void Sonic_RollRepel();
void Sonic_RollSpeed();
void Sonic_RollLeft();
void Sonic_RollRight();

void Sonic_CheckFloor(signed short &, byte &);
void Sonic_CheckRightCeiling(signed short &, byte &);
void Sonic_CheckLeftCeiling(signed short &, byte &);
void Sonic_CheckCeiling(signed short &, byte &);

void Sonic_Loops();

void Sonic_Hurt();
void Sonic_HurtStop();

void loadframe(byte *);
void Sonic_Animate();
void Sonic_LoadGfx();



